package HLA2.generatori;

/**
 *
 * @author lorenzo
 */
public class GeneratoreUniforme extends Generatore {

    private double a = Math.pow(5, 13); //numero coprimo rispetto ad m
	private double m = Math.pow(2, 31); //lunghezza massima parola
	private double seme; // = 12573.0; //primo seme per il generatore
	private int cont = 0;

    public GeneratoreUniforme(double seme){
		this.seme = seme;
	}
     public void setSeme(double s){
		 this.seme = s;
	 }

     public double next(){
			double val;
			int c = 0;
			val = (this.a * this.seme + c) % this.m;
			this.seme=val;
			double unival =val / this.m;
			return unival;

    }

    public double generaSeme(){
		cont++;
		for(int i=0; i<100; i++) seme = ((a*seme)%m);
		if (seme%2!=1) return seme+1;
		else return seme;
	}


}
